package cn.agiledata.bank.audit.exception;

import com.vnv.infrastructure.exception.IPBAppException;

public class AuditException extends IPBAppException {
    public static final AuditException AUDIT_GROUP_USED_CANNOT_REMOVE = new AuditException(
            "error.audit.group.used_cannot_remove");

    public static final AuditException AUDIT_GROUP_NOT_UNIQUE_NAME = new AuditException(
            "error.audit.group.not_unique_name");

    public static final AuditException AUDIT_RULE_USED_CANNOT_REMOVE = new AuditException(
            "error.audit.rule.used_cannot_remove");

    public static final AuditException AUDIT_RULE_NOT_UNIQUE_NAME = new AuditException(
            "error.audit.rule.not_unique_name");

    public static final AuditException AUDIT_STEP_NOT_UNIQUE_NAME = new AuditException(
            "error.audit.step.not_unique_name");

    public static final AuditException AUDIT_STEP_NOT_UNIQUE_AUDIT_GROUP = new AuditException(
            "error.audit.step.not_unique_audit_group");

    public static final AuditException AUDIT_NO_AUTHORITY = new AuditException(
            "error.audit.operand.no_authority");

    public static final AuditException NO_AUDIT_RECORD = new AuditException(
            "error.audit.operand.no_audit_record");

    public static final AuditException CANNOT_AUDIT_CORP_TYPE = new AuditException(
            "error.audit.operand.cannot_audit_corp_type");

    public static final AuditException CANNOT_AUDIT_SYSTEM_TYPE = new AuditException(
            "error.audit.operand.cannot_audit_system_type");

    public static final AuditException PERSON_ACCOUNT_AUTHORITY = new AuditException(
            "error.audit.operand.person_account_authority");

    public static final AuditException CORP_OPERATOR_AUTHORITY = new AuditException(
            "error.audit.operand.corp_operator_authority");

    public static final AuditException AUDIT_STATUS_MISMATCH = new AuditException(
            "error.audit.operand.audit_status_mismatch");

    public static final AuditException NO_VALID_RULE = new AuditException(
            "error.audit.rule.no_valid_rule");

    public static final AuditException AUDIT_RULE_NO_STEP = new AuditException(
            "error.audit.rule.no_step");

    public static final AuditException AUDIT_RULE_NOT_VALID = new AuditException(
            "error.audit.step.not_valid");

    public static final AuditException AUDIT_RULE_NOT_VALID_TOO_MANY = new AuditException(
            "error.audit.step.not_valid_too_many");

    public AuditException(String rtnCode, Throwable reason) {
        super(rtnCode, reason);
    }

    public AuditException(String rtnCode) {
        super(rtnCode);
    }

}
